# команда `locate` (Linux) не показывает никаких файлов в домашнем каталоге

Команда locate использует базу данных, подготовленную за ночь с помощью updatedb . Ваша проблема в том, что из соображений конфиденциальности по умолчанию updatedb не сканирует каталоги, которые не доступны для чтения каждому пользователю .

Если вы хотите создать базу данных только для себя, вы можете использовать:

    updatedb -l 0  --output=/home/username/.mydb.db
И искать в нем, используя:

    locate -d ~/.mydb.db search-pattern
Вы можете использовать псевдонимы, чтобы сделать его более удобным:

    alias lupdatedb="updatedb -l 0  --output=/home/username/.mydb.db"
    alias llocate="locate -d ~/.mydb.db"
Однако, так как locate не найдет новые файлы без предварительного запуска updatedb , я думаю, что команда find будет более полезной, поскольку она сканирует реальные файлы, а не устаревшую базу данных.


